home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Linux / Kubuntu 8.10 / kubuntu-8.10-desktop-i386.iso / casper / filesystem.squashfs / etc / init.d / hal < prev    next >
Text File  |  2008-10-26  |  2KB  |  95 lines

  1. #! /bin/sh
  2. ### BEGIN INIT INFO
  3. # Provides:          hal
  4. # Required-Start:    $remote_fs dbus
  5. # Required-Stop:     $remote_fs dbus
  6. # Should-Start:         $syslog acpid
  7. # Should-Stop:       $syslog acpid
  8. # Default-Start:     2 3 4 5
  9. # Default-Stop:      1
  10. # Short-Description: Hardware abstraction layer
  11. # Description:       The HAL daemon collects and maintains information about
  12. #                    your hardware.
  13. ### END INIT INFO
  14.  
  15. PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
  16. DAEMON=/usr/sbin/hald
  17. PIDDIR=/var/run/hald
  18. PIDFILE=$PIDDIR/hald.pid
  19. NAME=hald
  20. DAEMONUSER=haldaemon
  21. DESC="Hardware abstraction layer"
  22.  
  23. . /lib/lsb/init-functions
  24.  
  25. test -x $DAEMON || exit 0
  26.  
  27. # Include hal defaults if available
  28. if [ -f /etc/default/hal ] ; then
  29.     . /etc/default/hal
  30. fi
  31.  
  32. set -e
  33.  
  34. do_start() {
  35.     if [ ! -d $PIDDIR ]; then
  36.         mkdir -p $PIDDIR
  37.         chown $DAEMONUSER:$DAEMONUSER $PIDDIR
  38.     fi
  39.     start-stop-daemon --start --oknodo --pidfile $PIDFILE \
  40.         --exec $DAEMON -- $DAEMON_OPTS
  41. }
  42.  
  43. do_stop() {
  44.     start-stop-daemon --stop --oknodo --quiet --pidfile $PIDFILE \
  45.         --exec $DAEMON 
  46. }
  47.  
  48. case "$1" in
  49.   start)
  50.     if [ ! -d /proc/sys/fs/inotify ]; then
  51.         log_failure_msg "Can't start $DESC - enable inotify support in your kernel"
  52.         exit 0
  53.     fi
  54.     if [ ! -e /var/run/dbus/system_bus_socket ]; then
  55.         log_failure_msg "Can't start $DESC - please ensure dbus is running"
  56.         exit 0
  57.     fi
  58.     
  59.     if [ ! -d /sys/kernel ]; then
  60.         log_failure_msg "Can't start $DESC - sysfs not mounted on /sys"
  61.         exit 0
  62.     fi
  63.     
  64.     if [ "$(stat -c %d/%i /)" != "$(stat -Lc %d/%i /proc/1/root 2>/dev/null)" ]; then
  65.         log_failure_msg "Can't start $DESC - detected chrooted session"
  66.         exit 0
  67.     fi
  68.     
  69.     log_daemon_msg "Starting $DESC" "$NAME"
  70.     do_start
  71.     log_end_msg $?
  72.     ;;
  73.   stop)
  74.     log_daemon_msg "Stopping $DESC" "$NAME"
  75.     do_stop
  76.     log_end_msg $?
  77.     ;;
  78.   restart|force-reload)
  79.     log_daemon_msg "Restarting $DESC" "$NAME"
  80.     do_stop
  81.     sleep 1
  82.     do_start
  83.     log_end_msg $?
  84.     ;;
  85.   status)
  86.     status_of_proc -p $PIDFILE $DAEMON $NAME && exit 0 || exit $?
  87.     ;;
  88.   *)
  89.     log_success_msg "Usage: $0 {start|stop|restart|force-reload|status}" >&2
  90.     exit 1
  91.     ;;
  92. esac
  93.  
  94. exit 0
  95.